Python 各モジュールの役割

提供:yonewiki

Pythonへ戻る。

概要

 物凄い沢山あるpythonのモジュール群。簡単に役割を記録する記事です。主に管理人の備忘録としての側面の強い記事です。管理人が気になったモジュールだけが記事になっていくと思われます。モジュールの意味を知っていくだけでも気にも留めることがなかった情報技術の広がりを把握出来ます。暇なときはひとつづつ、モジュールの用途を知るべく、モジュール名で検索したりするだけでも既存の情報技術の知見が広がり、情報技術の世界観を構築していけると思います。例えばフリーソフトやアプリの一覧を見て、どんなことが世界で行われているかを知るようなものです。モジュールはソフトウェアを作るときの技術の巣窟です。アプリ一覧より格段に難しいハズです。

 

asn1crypto

 asn.1暗号(asn.1(Abstract Syntax Notation One)は構造体の枠組みを差す)を解析するモジュールです。古くはpyasn1というモジュールがあったそうですが、現在はこちらが推奨されているようです。X.509、Crl、Csr、Ocsp、PKCS#12、PKCS#8、PKCS#1 v2.1 (RSA キー)、DSA キー、Elliptic curve キー、PKCS#3 v1.4、PKCS#5 v2.1、CMS (および PKCS#7)、TSP、PDF 署名といった暗号に関わる暗号のasn1構造体を解析し、シリアル化(asn1暗号の生成)を実現します。

 

astropy

 天文学で使用するために設計されたソフトウェアパッケージのコレクションです。天文学で使う定数が豊富に提供されるようです。他にも緯度経度の情報からWCS(World Coordinate System)という天球面の座標を算出したり、その天球の画像データをFITS(flexible image transport system)を介して取得したりできます。FITSは国際天文学連合(IAU:International Astronomical Union)の中の組織が管理しています。
【関連モジュール】
  • six

 

ffmpeg

 動画と音声を記録・変換・再生するモジュール。ほぼ全部といってもいいほどの動画・音声のファイル形式を網羅していて、書き込み・変換・再生ができる。なんつうか凄すぎるモジュール。コマンドを覚えるだけでも、変換ができるので有り難い。よくわかんないけどlibavとffmpegとで分裂したらしい。libavはセキュリティの欠陥を期にUbuntuやDebianといったLinuxでは不採用になり、ffmpegが採用されている。
【公式Site】

 

matplotlab

 グラフ描画および画像表示に関する処理を実現するモジュール。numpyと合わせて使うことが多い。
【公式site】
https://matplotlib.org/

 

numpy

 科学技術計算を高速にするために開発されたモジュールでpythonの弱みである動的型処理による処理速度低下を補うべく、C言語をcoreとしたライブラリとの連携により計算速度を向上するモノ。
【公式site】

 

pandas

 データ解析ライブラリ。数表、時系列データを操作するためのデータ構造を提供し、演算を行う。パネルデータ分析というらしい。PANel DAta 'S でpandasパンダスだね
【公式site】

scipy

 プログラミング数学、科学、工学のための数値解析ソフトウェア。統計、最適化、積分、線形代数、フーリエ変換、信号・イメージ処理、遺伝的アルゴリズム、ODE (常微分方程式) ソルバ、特殊関数、その他計算を行うモジュール
  • constants:物理定数と変換係数(scipyバージョン0.7.0以降)
  • cluster:階層的クラスタリング、ベクトル量子化、K平均
  • fftpack:離散フーリエ変換アルゴリズム
  • integrate:数値積分処理
  • interpolate:補間ツール
  • io:データ入出力
  • linalg:線形代数処理
  • misc:その他の機能(画像の読み込み書き込みとか)
  • ndimage:多次元画像処理のためのさまざまな機能
  • optimize:線形計画法を含む最適化アルゴリズム
  • signal:信号処理ツール
  • sparse:スパース行列と関連アルゴリズム
  • spatial:KD木、最近傍、距離関数
  • special:特別な機能
  • stats:統計関数
  • weave:C/C++コードをPythonの複数行の文字列として記述するツール
【公式site】

 

six

 Python2.x系とPython3.xの互換性を発揮するためのモジュール。両方のバージョン番号の積である2x3=6からモジュール名が付けられている。足し算ではないのはfiveというプロジェクトが既にあるからだとも言われている。とてもシンプルなモジュールで単体のファイルで構成されているくらいで、自分のモジュールにペロッて貼って使うこともできるらしい。

 

spleeter

 歌唱音楽の各要素を学習機能を使って分解するモジュール。例えばピアノ付きロックバンドだと、Vocal/Base/Piano/Drum/Guitar(Other)に分離できる。これは5Stem。2Stemなら歌と伴奏。4Stemなら歌とBaseとDrumとその他に分離する。斬新な機能。モジュールというよりはアプリケーションっていう感じがする。一応コマンドでパイプで渡したりもできるので、モジュールか。
【公式site】

 

statsmodels

 回帰分析、統計解析処理を提供するモジュール
【公式Site】

 

tensorflow

 tensorflowは機械学習のためのモジュールで、画像解析や音声認識や文字翻訳や文字列解釈や自動操作に関する学習を高めてより信頼度の高い結果を返す仕組みを構築するのを助けるもの。tensorflowはテンソルフローと読む。テンソルとは1次元や多次元に数量的に変換できるもの全体を差している。抽象的だが、ある制約の数量について、流れをつくるためのものという意味なのかもしれない。tensorflowの使い方について説明した公式siteがあるので、興味のある人は是非、取り組んでみて欲しい。
【公式site】

 


Pythonへ戻る。